/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package figuras;

import exceptions.ExcecaoDeMedida;
import interfaces.FiguraGeometrica;

/**
 *
 * @author Daniel Gribel
 */
public class Quadrado implements FiguraGeometrica {
    
    private int lado;

    public Quadrado(int lado) throws ExcecaoDeMedida {
        verificarPreCondicoesMedidas(lado);
        this.lado = lado;
    }
    
    private void verificarPreCondicoesMedidas(int lado) throws ExcecaoDeMedida {
        verificarLadosPositivos(lado);
    }
    
    private void verificarLadosPositivos(int lado) throws ExcecaoDeMedida {
        if(lado <= 0)
            throw new ExcecaoDeMedida(ExcecaoDeMedida._MSG_LADO_NAO_POSITIVO);
    }

    public int getLado() {
        return lado;
    }

    @Override
    public double perimetro() {
        return 4 * lado;
    }

    @Override
    public double area() {
        return lado * lado;
    }
    
}
